package com.ys.p4Queue队列;

/**
 * 描述: 自定义模拟队列接口
 *  Java泛型中的标记符含义：
 * E - Element (在集合中使用，因为集合中存放的是元素)
 * T - Type（Java 类）
 * K - Key（键）
 * V - Value（值）
 * N - Number（数值类型）
 * ？ -  表示不确定的java类型
 *
 * @author CodeYang
 * @version 2020/12/26 0:36
 */
public interface Queue<E> {
    /**
     * 在队尾添加元素
     *
     * @param element
     * @return
     */
    boolean offer(E element);

    /**
     * 获得队首的元素，不会执行出队操作
     *
     * @return
     */
    E peek();

    /**
     * 获得队首的元素，并且队首元素出队
     *
     * @return
     */
    E poll();

    /**
     * 判断队列是否为空。
     *
     * @return 如果队列为空，则返回true；如果队列不为空，则返回false。
     */
    boolean isEmpty();

}
